/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.open.oasis.docs.wsbpel._2._0.process.executable.validation;

import org.eclipse.emf.common.util.EMap;

import org.eclipse.emf.ecore.util.FeatureMap;

import org.open.oasis.docs.wsbpel._2._0.process.executable.TActivityContainer;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TAssign;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TBooleanExpr;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TBranches;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCatch;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCompensate;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCompensateScope;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCompletionCondition;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCondition;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCopy;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCorrelationSet;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TCorrelationSets;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TDeadlineExpr;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TDocumentation;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TDurationExpr;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TElseif;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TEmpty;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TEventHandlers;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExit;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExpression;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExtension;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExtensionActivity;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExtensionAssignOperation;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TExtensions;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TFaultHandlers;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TFlow;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TForEach;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TFrom;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TFromPart;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TFromParts;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TIf;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TImport;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TInvoke;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TLink;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TLinks;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TLiteral;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TMessageExchange;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TMessageExchanges;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TOnEvent;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TOnMessage;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TPartnerLink;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TPartnerLinks;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TPick;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TProcess;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TQuery;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TReceive;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TRepeatUntil;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TReply;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TRethrow;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TScope;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TSequence;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TSource;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TSources;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TTarget;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TTargets;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TThrow;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TTo;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TToPart;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TToParts;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TValidate;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TVariable;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TVariables;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TWait;
import org.open.oasis.docs.wsbpel._2._0.process.executable.TWhile;

/**
 * A sample validator interface for {@link org.open.oasis.docs.wsbpel._2._0.process.executable.DocumentRoot}.
 * This doesn't really do anything, and it's not a real EMF artifact.
 * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
 * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
 */
public interface DocumentRootValidator {
	boolean validate();

	boolean validateMixed(FeatureMap value);
	boolean validateXMLNSPrefixMap(EMap<String, String> value);
	boolean validateXSISchemaLocation(EMap<String, String> value);
	boolean validateAssign(TAssign value);
	boolean validateBranches(TBranches value);
	boolean validateCatch(TCatch value);
	boolean validateCatchAll(TActivityContainer value);
	boolean validateCompensate(TCompensate value);
	boolean validateCompensateScope(TCompensateScope value);
	boolean validateCompensationHandler(TActivityContainer value);
	boolean validateCompletionCondition(TCompletionCondition value);
	boolean validateCondition(TBooleanExpr value);
	boolean validateCopy(TCopy value);
	boolean validateCorrelationSet(TCorrelationSet value);
	boolean validateCorrelationSets(TCorrelationSets value);
	boolean validateDocumentation(TDocumentation value);
	boolean validateElse(TActivityContainer value);
	boolean validateElseif(TElseif value);
	boolean validateEmpty(TEmpty value);
	boolean validateEventHandlers(TEventHandlers value);
	boolean validateExit(TExit value);
	boolean validateExtension(TExtension value);
	boolean validateExtensionActivity(TExtensionActivity value);
	boolean validateExtensionAssignOperation(TExtensionAssignOperation value);
	boolean validateExtensions(TExtensions value);
	boolean validateFaultHandlers(TFaultHandlers value);
	boolean validateFinalCounterValue(TExpression value);
	boolean validateFlow(TFlow value);
	boolean validateFor(TDurationExpr value);
	boolean validateForEach(TForEach value);
	boolean validateFrom(TFrom value);
	boolean validateFromPart(TFromPart value);
	boolean validateFromParts(TFromParts value);
	boolean validateIf(TIf value);
	boolean validateImport(TImport value);
	boolean validateInvoke(TInvoke value);
	boolean validateJoinCondition(TCondition value);
	boolean validateLink(TLink value);
	boolean validateLinks(TLinks value);
	boolean validateLiteral(TLiteral value);
	boolean validateMessageExchange(TMessageExchange value);
	boolean validateMessageExchanges(TMessageExchanges value);
	boolean validateOnEvent(TOnEvent value);
	boolean validateOnMessage(TOnMessage value);
	boolean validatePartnerLink(TPartnerLink value);
	boolean validatePartnerLinks(TPartnerLinks value);
	boolean validatePick(TPick value);
	boolean validateProcess(TProcess value);
	boolean validateQuery(TQuery value);
	boolean validateReceive(TReceive value);
	boolean validateRepeatEvery(TDurationExpr value);
	boolean validateRepeatUntil(TRepeatUntil value);
	boolean validateReply(TReply value);
	boolean validateRethrow(TRethrow value);
	boolean validateScope(TScope value);
	boolean validateSequence(TSequence value);
	boolean validateSource(TSource value);
	boolean validateSources(TSources value);
	boolean validateStartCounterValue(TExpression value);
	boolean validateTarget(TTarget value);
	boolean validateTargets(TTargets value);
	boolean validateTerminationHandler(TActivityContainer value);
	boolean validateThrow(TThrow value);
	boolean validateTo(TTo value);
	boolean validateToPart(TToPart value);
	boolean validateToParts(TToParts value);
	boolean validateTransitionCondition(TCondition value);
	boolean validateUntil(TDeadlineExpr value);
	boolean validateValidate(TValidate value);
	boolean validateVariable(TVariable value);
	boolean validateVariables(TVariables value);
	boolean validateWait(TWait value);
	boolean validateWhile(TWhile value);
}
